<?php

/**
 * verwaltung actions.
 *
 * @package    adminslittlehelper
 * @subpackage verwaltung
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 2692 2006-11-15 21:03:55Z fabien $
 */
class deleteHardwareAction extends sfAction
{
  /**
   * Executes index action
   *
   */
  public function execute()
  {
	/**
	 * Rechner löschen
	 */
 	$hardware_item = RechnerPeer::retrieveByPk($this->getRequestParameter('hid'));
 	$this->forward404Unless($hardware_item);
 	
    		/**
  			 * zugehörige Arbeitsplatznutzer löschen
  			 */
			$c = new Criteria();
			$c->add(ArbeitsplatznutzerHasRechnerPeer::RECHNER_ID, $hardware_item->getId());
			  	
			$hwuser_has_hardware = ArbeitsplatznutzerHasRechnerPeer::doSelect($c);
			if(is_array($hwuser_has_hardware)){
  				foreach($hwuser_has_hardware as $object_value){
  					$object_value->delete();				  			
  				}
			}

  		  	/**
  			 * zugehörige Software löschen
  			 */
			$c = new Criteria();
			$c->add(RechnerHasSoftwarePeer::RECHNER_ID, $hardware_item->getId());
			  	
			$hardware_has_software = RechnerHasSoftwarePeer::doSelect($c);
			if(is_array($hardware_has_software)){
  				foreach($hardware_has_software as $object_value){
  					$object_value->delete();				  			
  				}
			} 	
 	
 	$hardware_item->delete();
 	$this->setFlash('errMessage', 'Daten erfolgreich gelöscht.');
	
  	return $this->redirect('management/showOverview');
  }
}
